/*
 * 官网地站:http://www.mob.com
 * 技术支持QQ: 4006852216
 * 官方微信:ShareSDK   （如果发布新版本的话，我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题，也可以通过微信与我们取得联系，我们将会在24小时内给予回复）
 *
 * Copyright (c) 2013年 mob.com. All rights reserved.
 */

package com.walk.zworld.wxapi;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;

import androidx.annotation.Nullable;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
import com.tencent.mm.opensdk.modelmsg.SendAuth;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
import com.walk.zworld.api.http.CommonHttpConsts;
import com.walk.zworld.api.utils.L;
import com.walk.zworld.wxapi.wx.WxApiWrapper;


/** 微信客户端回调activity示例 */
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {

//	/**
//	 * 处理微信发出的向第三方应用请求app message
//	 * <p>
//	 * 在微信客户端中的聊天页面有“添加工具”，可以将本应用的图标添加到其中
//	 * 此后点击图标，下面的代码会被执行。Demo仅仅只是打开自己而已，但你可
//	 * 做点其他的事情，包括根本不打开任何页面
//	 */
//	@Override
//	public void onGetMessageFromWXReq(WXMediaMessage msg) {
////		if (msg != null) {
////			Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
////			startActivity(iLaunchMyself);
////		}
//	}
//
//	/**
//	 * 处理微信向第三方应用发起的消息
//	 * <p>
//	 * 此处用来接收从微信发送过来的消息，比方说本demo在wechatpage里面分享
//	 * 应用时可以不分享应用文件，而分享一段应用的自定义信息。接受方的微信
//	 * 客户端会通过这个方法，将这个信息发送回接收方手机上的本demo中，当作
//	 * 回调。
//	 * <p>
//	 * 本Demo只是将信息展示出来，但你可做点其他的事情，而不仅仅只是Toast
//	 */
//	@Override
//	public void onShowMessageFromWXReq(WXMediaMessage msg) {
//		if (msg != null && msg.mediaObject != null
//				&& (msg.mediaObject instanceof WXAppExtendObject)) {
//			WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;
//			Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
//		}
//	}


	@Override
	protected void onCreate(@Nullable Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		IWXAPI wxApi = WxApiWrapper.getInstance().getWxApi();
		SendAuth.Req req = new SendAuth.Req();
		req.scope = "snsapi_userinfo"; // 只能填 snsapi_userinfo
		req.state = "wechat_sdk_demo";
		wxApi.sendReq(req);
	}

	/*微信发送的请求将回调到 onReq 方法，发送到微信请求的响应结果将回调到 onResp 方法*/
	@Override
	public void onReq(BaseReq baseReq) {

	}

	public void onResp(BaseResp resp) {
		if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
			WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
			String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性

			Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());

			this.startActivity(intent);
		}


//		OkGo.<String>get("https://graph.qq.com/oauth2.0/me?access_token=" + accessToken + "&unionid=1")
//				.tag(CommonHttpConsts.GET_QQ_LOGIN_UNION_ID)
//				.execute(new StringCallback() {
//					@Override
//					public void onSuccess(Response<String> response) {
//						if (commonCallback != null) {
//							String data = response.body();
//							data = data.substring(data.indexOf("{"), data.lastIndexOf("}") + 1);
//							L.e("getQQLoginUnionID------>" + data);
//							JSONObject obj = JSON.parseObject(data);
//							commonCallback.callback(obj.getString("unionid"));
//						}
//					}
//				});
	}
}
